Locally Abstract, Globally Concrete Semantics of Concurrent Programming Languages
نویسندگان
چکیده
Language semantics that is formal and mathematically precise, is the essential prerequisite for the design of logics and calculi that permit automated reasoning about programs. The most popular approach to programming language semantics—small step operational semantics (SOS)—is not modular in the sense that it does not separate conceptual layers in the target language. SOS is also hard to relate formally to program logics and calculi. Minimalist semantic formalisms, such as automata, Petri nets, or π-calculus are inadequate for rich programming languages. We propose a new formal trace semantics for a concurrent, active objects language. It is designed with the explicit aim of being compatible with a sequent calculus for a program logic and has a strong model theoretic flavor. Our semantics separates sequential and object-local from concurrent computation: the former yields abstract traces which in a second stage are combined into global system behavior.
منابع مشابه
A Unified Computation Model for Declarative Programming
narrowing ABSTRACT NARROWING u∈ Onv (g) & (l=r ⇐ C) << R A & κ = mgu ({g|u,l}) ––––––––––––––––––––––––––––––––––––––– g ⇒κ (C, g[r]u)κ abstract semantics of a goal g ∆(g)= {κ| g ⇒κ* true} (decidable) the abstract semantics approximates the concrete semantics ∀ σ ∈ O(g). ∃ κ ∈ ∆(g). κ ≤ σ unsatisfiability analysis ∆(g)=∅ ⇒ g es unsatisfiable abstract basic narrowing is compositional ∆(g...
متن کاملGRL: A Specification Language for Globally Asynchronous Locally Synchronous Systems
A GALS (Globally Asynchronous, Locally Synchronous) system consists of several synchronous subsystems that evolve concurrently and interact with each other asynchronously. Most formalisms and design tools support either the synchronous paradigm or the asynchronous paradigm but rarely combine both, which requires an intricate modeling of GALS systems. In this paper, we present a new language, ca...
متن کاملRelaxed Operational Semantics of Concurrent Programming Languages
We propose a novel, operational framework to formally describe the semantics of concurrent programs running within the context of a relaxed memory model. Our framework features a “temporary store” where the memory operations issued by the threads are recorded, in program order. A memory model then specifies the conditions under which a pending operation from this sequence is allowed to be globa...
متن کاملOn the Action Semantics of Concurrent Programming Languages
Syntax Semantic Functions (needs: Abstract Syntax, Semantic Entities.) ADA abstractions, 2. AN ILLUSTRATIVE EXAMPLE
متن کاملFrom Asynchronous Games to Concurrent Games
Game semantics was introduced in order to capture the dynamic behaviour of proofs and programs. In these semantics, the interaction between a program and its environment is modeled by a series of moves exchanged between two players in a game. Every program thus induces a strategy describing how it reacts when it is provided information by its environment. Traditionally, strategies considered in...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017